package com.demo.woziqi.util;

import com.demo.woziqi.entity.AI;
import com.demo.woziqi.entity.Chess;
import com.demo.woziqi.entity.User;

import java.util.ArrayList;
import java.util.List;
import java.util.Map;

/**
 * @Author 宋明松
 * @Version V1.0.0
 * @Date 2022-05-23
 *
 *
 * 常量池
 */
public class GameConstant {
    public static final int MARGIN = 100; // 外边距
    public static final int LINE_DISTANCE = 50;// 线的间距
    public static final int LINE_NUM = 15; // 线条数
    public static final int WIDTH = MARGIN * 2 + LINE_DISTANCE * (LINE_NUM - 1); // 窗口宽度
    public static final int HEIGHT = MARGIN * 2 + 100 + LINE_DISTANCE * (LINE_NUM - 1); // 窗口高度

    public static int _x; // 棋谱中的x坐标
    public static int _y; // 棋谱中的y坐标

    public static int pattern = 0; // 对局模式，0为单机模式，1，为人机模式，2为联机模式
    public static boolean isEnd = false; // 当前局是否结束，结束后不能在落子
    public static List<Chess> chess = new ArrayList<>(); // 存放棋子信息的List
    public static boolean flag = true; // 结束是白棋还是黑棋；true为黑，false为白，默认黑棋先下

    public static String DIpText;// 对方IP
    public static int DDkText;// 对方端口
    public static String WIpText;// 本机IP
    public static int WDkText;// 本机端口

    public static boolean threadServerRun=true; // 服务器端线程启动

    public static boolean isAgree =false; // 是否同意重开
    public static boolean isAgreeRegret =false; // 是否同意悔棋

    public static Map<String,Integer> ints = AI.getWeight();  // 人机棋子记录
    public static User user; // 保存登录的用户
    public static String username;// 保存登录的用户名（防止第一次为空报错）
    public static boolean serverSocketIsClosed = true; // 服务器是否关闭,true表示没有关闭
}
